1. Technical Field
The present invention relates to automated provisioning systems for computer resources. More specifically, the invention relates to a method and system for capturing, storing, and deploying configuration profiles such that computing resources can be configured automatically in provisioning systems for computing resources.
2. Description of Related Art
As businesses attempt to respond more quickly to changing needs and circumstances, there is an increased need for the capability to quickly reallocate resources used in information technology (IT). It is envisioned in one model of computer services that businesses will be able to contract with an IT provider for services. In this model, a provisioning organization will provide computer hardware and software that can be flexibly interconnected to serve a client as long as necessary, but can then be released back to a general pool, or pools, when the need has passed. The provisioning organization can provide equipment and software to a client's site or provide the services through connections to the needed resources at another site. Once the resource is released back to the general pool, or pools, systems can be reconfigured to meet the needs of the next client as necessary.
It is known that the processes associated with adding or reallocating IT resources can be lengthy and tedious. Ideally, an auto-provisioning system can allocate and configure computing resources with little or no human intervention, such that these resources can be placed into or removed from operation quickly and efficiently. Operations personnel can then be relieved of much of the burden of managing an infrastructure consisting of computing resources, making operations more cost effective. Auto-provisioning can also facilitate a more fluid, timely and automated allocation and configuration of resources, allowing management to use more variable and profitable pricing strategies, such as a metered utility service provider might use.
Providing the ability to automatically provision resources is a major challenge, as different resources require not only different parameters, but also different types of parameters for configuration. For instance, to provision information storage equipment, one should know the usage patterns and required levels of response. To provision software, in contrast, one generally needs information regarding the processor memory and the amount of disk storage. Moreover, a parameter for a resource may require different values according to the user environment in which the resource is used. For example, the size allocated to a log file is dependent on traffic patterns, with a low traffic environment requiring less disk space than a high traffic environment.
Current provisioning systems use one of several approaches to the problem. Some provisioning systems support configuration with a fixed set of parameter values. In this case, it is the responsibility of the customer to customize the configuration to their needs. Other systems provide a mechanism to execute configuration scripts during the provisioning process and expect the administrator to provide the necessary scripts and handle the complexity of configuration values. Finally, some systems expect that different configuration scripts will be written for each environment to be provisioned when default configurations are not suitable. It is desirable to have a provisioning system in which the system itself handles as much of the complexity as possible.